/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.mintandleaf.webkits.data;

import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 *
 * @author teguhh
 */
@SuppressWarnings("unused")
public class WebKitsDataMap {
  private Byte _byte;
  private Short _short;
  private Integer _integer;
  private Long _long;
  private Float _float;
  private Double _double;
  private Date _date;
  private Boolean _boolean;

  private Byte[] _bytes;
  private Short[] _shorts;
  private Integer[] _integers;
  private Long[] _longs;
  private Float[] _floats;
  private Double[] _doubles;
  private Date[] _dates;
  private Boolean[] _booleans;

  private List<String> _list;
  private Set<String> _set;
  private Map<String, String> _map;

  private transient Map<String, Object> map = new HashMap<String, Object>();

  public Map<String, Object> getTransientMap() {
    return map;
  }

  public void clear() {
    map.clear();
  }

  public boolean containsKey(Object key) {
    return map.containsKey(key);
  }

  public boolean containsValue(Object value) {
    return map.containsValue(value);
  }

  public Set<Map.Entry<String, Object>> entrySet() {
    return map.entrySet();
  }

  public boolean equals(Object paramObject) {
    if(paramObject instanceof WebKitsDataMap){
      return map.equals(((WebKitsDataMap)paramObject). map);
    }
    return false;
  }

  public Object get(Object paramKey) {
    return map.get(paramKey);
  }

  public int hashCode() {
    return map.hashCode();
  }

  public boolean isEmpty() {
    return map.isEmpty();
  }

  public Set<String> keySet() {
    return map.keySet();
  }

  public Object put(String paramKey, Object paramValue) {
    return map.put(paramKey, paramValue);
  }

  public void putAll(Map<? extends String, ? extends Object> paramMap) {
    map.putAll(paramMap);
  }

  public Object remove(Object paramKey) {
    return map.remove(paramKey);
  }

  public int size() {
    return map.size();
  }

  public Collection<Object> values() {
    return map.values();
  }

  @Override
  public String toString() {
    return map.toString();
  }

}
